<?php

require_once 'Ethna/class/DB/Ethna_DB_PEAR.php';


class MyApp_DB_PEAR extends Ethna_DB_PEAR
{
    function connect()
    {   
        $ret = parent::connect();
        if ($ret == 0) {
            $this->query("SET NAMES 'utf8'");
        }
        return $ret;
    }
    
    /**
     *  
     *  @access public
     *  @param  object  Ethna_Error     DB_Errorオブジェクト
     *  @static
     */
    function handleError(&$error)
    {
        $return = $error;
        if (DB::isError($error)) {
            if ($error->getCode() == DB_ERROR_ALREADY_EXISTS) {
                $return = Ethna::raiseNotice(sprintf('PEAR_DB ユニーク制約エラー CODE[%d] MESSAGE[%s] DEBUG_INFO[%s]', $error->getCode(), $error->getMessage(), $error->getDebugInfo()), E_DB_DUPENT);
            } else {
                $return = Ethna::raiseError(sprintf('PEAR_DB クエリエラー CODE[%d] MESSAGE[%s] DEBUG_INFO[%s]', $error->getCode(), $error->getMessage(), $error->getDebugInfo()), E_DB_QUERY);
            }
        }
        return $return;
    }
}

?>